In multicast/broadcast applications, data are transmitted from a server to multiple receivers over wired and/or wireless networks. A multicast system as used herein is a system in which a server transmits the same data to multiple receivers simultaneously, where the receivers form a subset of all the receivers up to and including all of the receivers. A broadcast system is a system in which a server transmits the same data to all of the receivers simultaneously. That is, a multicast system by definition can include a broadcast system.
IPTV (Internet Protocol Television) is a system where a digital television service is delivered using Internet Protocol over a network infrastructure. In general, IPTV is television content that, instead of being delivered through traditional broadcast and cable formats (including satellite), is received by the viewer through the technologies employed in computer networks, all of which employ Internet Protocol and related standards such as simple network management protocol (SNMP).
Video is used herein as an example of content. Content includes but is not limited to audio, video and multimedia. Further, a peer-to-peer node includes but is not limited to stations, client devices, mobile devices, mobile terminals, laptops, computers, dual mode smart phones, personal digital assistants (PDAs) etc. That is, a P2P device is any device that can communicate digitally over a network. Herein, the exemplary network is a wired network but a P2P network may also be a wireless network.
The majority of existing P2P live streaming systems ignore fairness and focus solely on maximizing the common welfare. For instance, one prior art study described how to fully utilize available upload bandwidth so as to maximize the video rate that can be streamed.
A SVC stream is employed to improve the common welfare further in the face of peer churn and fluctuation of available bandwidth. The fairness issue has been investigated in other prior studies. One such prior art study proposed a service differentiated peer selection mechanism for P2P media streaming systems. Higher contribution peers were offered more flexibility and choice in selecting peers with which to associate and, thus, achieved better viewing quality. Another prior art study proposed a sub-stream trading technique which allowed peers contributing more sub-streams to reciprocally receive more sub-streams, thus, enhancing their viewing quality.
Typically, fairness (individual welfare) is diametrically opposed to the notion of common welfare. How to strike an appropriate balance between the two is challenging. To make things worse, being “fair” in P2P live streaming system is not easy. Unlike P2P based file sharing systems such as BitTorrent, which introduces so called “tit-for-tat” technique to encourage peer contribution, a mechanism similar to “tit-for-tat” does not work well in P2P live streaming. This is mainly due to the real time requirement imposed by a streaming service, in combination with the desire to service high quality video to a large number of users.
Cost-based schemes have also been investigated in the prior art. In one such prior art study, video was coded into descriptions using multiple descriptions coding (MDC). The number of received descriptions determined the perceived video quality. Peers form trees and one description is distributed over one tree. Peers participate in a tree to retrieve (receive) certain descriptions. The number of trees joined is dynamically adjusted to reflect the entitled video quality determined by a cost policy.